﻿#ifndef _PROPERTY_VIEW_H
#define _PROPERTY_VIEW_H
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QMouseEvent>
#include "db_cfg_g_def.h"
#include "mytabledata.h"
#include <QStandardItemModel>
#include <QStandardItem>
#include <QTreeWidgetItem>
#include <QTimer>
#include <QScrollBar>


QT_BEGIN_NAMESPACE
class QObject;
QT_END_NAMESPACE

class PropertyView : public QTableWidget
{
   Q_OBJECT

public:
	PropertyView(MyTableData *pTableData, QWidget *parent = 0);
	~PropertyView();
	

	void ClearAllShowCont();

	//	初始化属性标题
	int		InitPropertyTitle();

protected:
	//	初始化表头显示
	int		InitHeaderItem();

protected:

/*	函数：	SetVerticalHeadShow
	用途：	设置行标头显示
	输入：	
	返回：	*/
	int		SetVerticalHeadShow(int RowNo,  QTableWidgetItem *pVHeadItem);

/*	函数：	OneRowTableDataShow
	用途：	显示一条记录
	输入：	
	返回：	*/
	int		OneRowTableDataShow();

	void	ClearTableDataShow();


protected slots:
	//响应主工作区选择显示某条记录所以字段
	void	OnShowRecord(int RecordNo);

/*	函数：	OneFieldDataShow
	用途：	显示一条字段（修改字段显示）
	输入：	
	返回：	*/
	int		OneFieldDataShow(int RecordNo, int RowNo);


/*	函数：	OnItemUserDataChang
	用途：	ITEM用户数据改变
	输入：	
	返回：	*/
	void	OnItemUserDataChang(int rowNo, bool bReInit);


/*	函数：	OnRefreshData
	用途：	数据刷新
	输入：	
	返回：	*/
	void	OnRefreshData(); 

/*	函数：	OnReSetDataShow
	用途：	重新设置数据显示 不删除ITEM
	输入：	
	返回：	*/
	void	OnReSetDataShow(int RecId1, int RecId2,int RecId3, int FieldNo); 


signals:
	  void  Signal_UserDataChang(int RecordNo, int FieldNo);
	  void	Signal_ReInit();

	
private:
	MyTableData		*m_pTableData;
		
};

#endif // DBCFGTABLEVIEW_H
